Different modes can be used for the transmission of data packets from a transmitter to a receiver, e.g. a transparent mode, an unacknowledged mode or an acknowledged mode. By using an ARQ (Automatic Repeat Request) mechanism, the acknowledged mode provides the possibility to retransmit data packets which are defective, either because they are lost or because they have been received in error. In this way, a loss free data transmission can be ensured for higher layers in a protocol stack although individual data packets of the ARQ layer are defective, e.g. due to a disturbed radio link. To allow an ARQ mechanism it is customary to identify the data packets by a sequence number which is generally attributed to the packets on a modulo basis. Messages from the receiver to the transmitter indicate which packets are defective and retransmissions of said packets are performed according to the messages. In addition, the messages can also acknowledge correctly received data packets.
The status of transmitted and received data packets can be controlled using receiver and transmission windows in the receiver and the transmitter, respectively, i.e. memories which store whether a data packet is acknowledged or not. The transmission window ranges from the first unacknowledged packet to the packet with the highest transmitted sequence number while the receiver window according to the definition used throughout this text ranges from the first unacknowledged packet to the packet with the highest received sequence number, generally under consideration of a modulo sequence numbering.
An example of a transmission protocol which has an acknowledged mode is the RLC (radio link control) protocol as described in the 3GPP technical specification 3G TS 25.322 V4.0.0 (2001-03) of the 3rd Generation Partnership Project, Technical Specification Group Radio Access Network. The RLC protocol is used for the transmission of data in a WCDMA (Wideband Code Division Multiple Access) system, for example in the Universal Mobile Telecommunication System (UMTS).
In a communication system, the transmitter is for example a user equipment like a mobile phone or a network node like an RNC (Radio Network Controller). The RLC protocol layer in the transmitter receives packets, e.g. from a higher layer in the protocol stack. The packets from the higher layer are denoted as SDUs (Service Data Units). The RLC layer transforms the SDUs to data packets denoted as packet data units (PDU) to prepare them for transmission over a link between the transmitter and the receiver. In the RLC layer of the transmitter, packet transformations comprise for example a segmentation, concatenation or buffering of SDUs while PDUs can for example be padded or buffered. The receiver is usually a network node or a user equipment communicating with the transmitter. The RLC layer of the receiver performs an inverse processing to release the data either to a higher protocol layer or to forward it to a link layer for transmission through further domains of the communication system, for example through a core network of the communication system.
In the RLC protocol, the messages indicating defective data packets are denoted as status reports and may consist of one or several protocol data units. The RLC specification requires that a status report shall include information about all protocol data units that have been received and all units detected as defective. Accordingly the receiver is reporting at the time when a status report is generated about all protocol data units which are currently in the receiver window. To improve the protocol performance in terms of delay and throughput optimization it is necessary that retransmissions of erroneously received radio link control protocol data units are sent as soon as possible. However, fast retransmissions may result in several retransmissions of the same PDU which is a waste of resources. Several status reports within one radio link control (RLC) round trip time trigger each the retransmission of a particular defective protocol data unit because all negatively acknowledged protocol data units are retransmitted when the transmitter receives a status report. Especially if status reports are sent as often as possible this may speed up the protocol but triggers unnecessary retransmissions.
The RLC protocol allows to control the amount of status reports by a Status Prohibit Timer. This timer prohibits the sending of status reports for a certain amount of time. If the Status Prohibit Timer is set higher than the RLC round trip time, unnecessary retransmissions are prevented. The disadvantage is that this slows down the retransmission of erroneous data packets significantly and results in a slow protocol, especially for a high proportion of defective packets and high round trip times. An alternative to avoid unnecessary retransmissions is the estimated PDU counter (EPC) as described in 3GPP specification 3G TS 25.322. The EPC mechanism comprises both a timer to consider the round trip time and in addition a counter corresponding to the number of packets requested for retransmission. The counter eliminates the influence of the link capacity on the transmission time but the EPC mechanism also does not solve the problem that the protocol is slowed down by the timer.
As a result, current protocols comprising a retransmission of data packets provide basically two options which either waste resources or slow down the protocol. Neither option provides an optimal performance.
Besides these problems, the existing technology can also disadvantageously affect the transport layer above the ARQ layer, in particular TCP (Transmission Control Protocol). TCP is a higher layer protocol which is widely used to provide a reliable data transfer in communication networks, for example in the Internet. Interactive transport protocols like TCP control transmissions according to reply messages from the receiving to the transmitting entity. Control procedures can adapt the transmitted data rate according to the reply messages, e.g. if a time-out for a reply indicates a packet loss. A radio link control protocol which is contributing to a large transport layer round trip time is therefore not only disadvantageous in itself. The high delay can furthermore trigger control procedures of the transport layer, even if a time-out results from a radio link round trip time and not from a packet loss in the network. As a result the existing RLC protocol is often too slow to support high TCP throughputs although the underlying physical layer would allow a corresponding data rate.
Finally, a large round trip time can cause a stalling condition of the transmission window in case of a limited window size, e.g. if a modulo sequence numbering is used. In a stalled window all positions are attributed to data packets. The window can not be shifted and new data packets accordingly not be sent until the oldest defective data packet is acknowledged. This blocks the data transmission.